GtkRecentManager: Allow instantiating with gtk_init
authorMatthias Clasen <mclasen@redhat.com>
Mon, 22 Dec 2014 04:14:02 +0000 (23:14 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 22 Dec 2014 04:14:02 +0000 (23:14 -0500)
This apparently used to work, and it doesn't do harm to allow it.

https://bugzilla.gnome.org/show_bug.cgi?id=705582

gtk/gtkrecentmanager.c

index 99aa23825b7d3d39d61261aaf26b193871af327a..b239cfce35bccfc450e259728038bc3c0813e071 100644 (file)
@@ -346,8 +346,9 @@ gtk_recent_manager_init (GtkRecentManager *manager)
   priv->filename = NULL;
 
   settings = gtk_settings_get_default ();
-  g_signal_connect_swapped (settings, "notify::gtk-recent-files-enabled",
-                            G_CALLBACK (gtk_recent_manager_enabled_changed), manager);
+  if (settings)
+    g_signal_connect_swapped (settings, "notify::gtk-recent-files-enabled",
+                              G_CALLBACK (gtk_recent_manager_enabled_changed), manager);
 }
 
 static void
@@ -470,14 +471,21 @@ gtk_recent_manager_real_changed (GtkRecentManager *manager)
        }
       else
         {
-          GtkSettings *settings = gtk_settings_get_default ();
-          gint age = 30;
+          GtkSettings *settings;
+          gint age;
           gboolean enabled;
 
-          g_object_get (G_OBJECT (settings),
-                        "gtk-recent-files-max-age", &age,
-                        "gtk-recent-files-enabled", &enabled,
-                        NULL);
+          settings = gtk_settings_get_default ();
+          if (settings)
+            g_object_get (G_OBJECT (settings),
+                          "gtk-recent-files-max-age", &age,
+                          "gtk-recent-files-enabled", &enabled,
+                          NULL);
+          else
+            {
+              age = 30;
+              enabled = TRUE;
+            }
 
           if (age == 0 || !enabled)
             {